package demo02.Stream;

import java.util.*;
import java.util.stream.Stream;

/*
    java.util.stream.Stream<T>是Java 8新加入的最常用的流接口。（这并不是一个函数式接口。）
    获取一个流非常简单，有以下几种常用的方式：
        - 所有的Collection集合都可以通过stream默认方法获取流；
            default Stream<E> stream​()
        - Stream接口的静态方法of可以获取数组对应的流。
            static <T> Stream<T> of​(T... values)
            参数是一个可变参数,那么我们就可以传递一个数组
 */
public class Demo01GetStream {
    public static void main(String[] args) {
        List<String>list=new ArrayList<>();
        Stream<String> stream = list.stream();

        Set<String>set=new HashSet<>();
        Stream<String> stream1 = set.stream();

        Map<String,Integer>map=new HashMap<>();
        Set<String> keySet = map.keySet();
        Stream<String> stream2 = keySet.stream();

        Collection<Integer> values = map.values();
        Stream<Integer> stream3 = values.stream();

        Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
        Stream<Map.Entry<String, Integer>> stream4 = entrySet.stream();

        Stream<Integer> integerStream = Stream.of(1, 2, 3, 4, 5, 6);

        Integer[]arr={1,2,3,4,5};
        Stream<Integer> stream5 = Stream.of(arr);
        String[]strings={"Hello","World","Java"};
        Stream<String> stream6 = Stream.of(strings);
    }
}
